<html>
    <head>
        <title>计算属性 vs 方法</title>
    </head>
    <body>
        <script>
             // ★二、计算属性 vs 方法
                    
                            // 你可能注意到我们医科通过在表达式中调用方法来达到同样的效果：
                               /* <p>Reversed message:"{{ reversedMessage() }}"</p>*/
                            
                            /*
                                我们可以经同一函数定义为一个"方法" 而不是"计算属性"。
                                两种方式的最终结果确实是完全相同的。
                                然而，不同的是 "计算属性是基于他们的响应式依赖缓存的。" 只在相关相应式依赖发生改变时他们才会重新求值。
                                这就意味着，"只要message还没有发生改变，多次访问reversedMessage计算属性会立即返回之前的计算结果，而不必再次执行getter函数。"

                                这也同样意味着下面的计算属性将不再更新，因为Date.now()不是响应式依赖：
                            */
                                computed:{
                                            now:function(){
                                                return Date.now();
                                            }
                                }
                            /*
                                相比之下，每当触发"重新渲染"时，调用方法将"总会"再次执行函数。

                                也就是说计算属性每一次计算完成后，会缓存起来，只要依赖的响应式属性值没有发生变化，就会返回缓存值。

                                只有依赖的响应式属性值发生了变化，计算属性才会重新计算，然后再次缓存起来。
                            */
        </script>
    </body>
</html>